package com.cleaningcloud.cld.service;

import com.cleaningcloud.cld.domain.CldTrainIecturer;
import com.cleaningcloud.cld.domain.dto.CldTrainIecturerDto;
import com.cleaningcloud.cld.domain.dto.CldTrainReceiveDto;
import com.cleaningcloud.cld.domain.vo.CldTrainIecturerVo;

import java.util.List;

/**
 * 培训讲师Service接口
 *
 * @author cleaningcloud
 * @date 2024-10-22
 */
public interface ICldTrainIecturerService {
    /**
     * 查询培训讲师
     *
     * @param trainIecturerId 培训讲师主键
     * @return 培训讲师
     */
    CldTrainIecturer getTrainIecturerStaffListInfo(CldTrainReceiveDto cldTrainReceiveDto);

    /**
     * 查询培训讲师列表
     *
     * @param cldTrainIecturer 培训讲师
     * @return 培训讲师集合
     */
    List<CldTrainIecturerVo> selectCldTrainIecturerList(CldTrainIecturerDto cldTrainIecturer);

    /**
     * 新增培训讲师
     *
     * @param cldTrainIecturer 培训讲师
     * @return 结果
     */
    int insertCldTrainIecturer(CldTrainIecturer cldTrainIecturer);

    /**
     * 修改培训讲师
     *
     * @param cldTrainIecturer 培训讲师
     * @return 结果
     */
    int updateCldTrainIecturer(CldTrainIecturer cldTrainIecturer);

    /**
     * 批量删除培训讲师
     *
     * @param trainIecturerIds 需要删除的培训讲师主键集合
     * @return 结果
     */
    int deleteCldTrainIecturerByTrainIecturerIds(Long[] trainIecturerIds);

    /**
     * 删除培训讲师信息
     *
     * @param trainIecturerId 培训讲师主键
     * @return 结果
     */
    int deleteCldTrainIecturerByTrainIecturerId(Long trainIecturerId);


    /**
     * 取消任职培训师
     * @param trainIecturerId
     * @return
     */
    int delCancePosition(Long trainIecturerId);
}
